package hashTable

/*
时间复杂度：O(n(k+∣Σ∣))
空间复杂度：O(n(k+∣Σ∣))
 */
func groupAnagrams(strs []string) [][]string {
	// 为什么这里var m map[[26]int][]string后直接使用: m[a] = append(m[a], str)会报错
	m := map[[26]int][]string{}
	result := make([][]string, 0)
	for _, str := range strs {
		var a [26]int
		for _, c := range str {
			a[c-'a']++
		}
		m[a] = append(m[a], str)
	}

	for _, v := range m {
		result = append(result, v)
	}
	return result
}
